package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商户钱包实体类<br>
 * 对应的表为：walt_merchant_wallet<br>
 * 
 * @author pbuilder generated
 * @date 2020-07-14 21:36:05
 * @company sgy
 * @version 2.0
 */
@TableName("walt_merchant_wallet")
@ApiModel(description = "商户钱包")
public class MerchantWalletEntity {

    /** 商户钱包ID */
	@ApiModelProperty("商户钱包ID")
	protected String id;

    /** 商户ID */
	@ApiModelProperty("商户ID")
	protected String merchantId;

    /** 悦币余额（可提现） */
	@ApiModelProperty("悦币余额（可提现）")
	protected BigDecimal yueCoin;

    /** 会员购买的悦卡余额 */
	@ApiModelProperty("会员购买的悦卡余额")
	protected BigDecimal yueCardBought;

    /** 企业发放的悦卡余额 */
	@ApiModelProperty("企业发放的悦卡余额")
	protected BigDecimal yueCardGranted;

    /** 微信余额（会员使用微信向商户支付产生的） */
	@ApiModelProperty("微信余额（会员使用微信向商户支付产生的）")
	protected BigDecimal wechatAmount;

    /** 支付宝余额（会员使用支付宝向商户支付产生的） */
	@ApiModelProperty("支付宝余额（会员使用支付宝向商户支付产生的）")
	protected BigDecimal alipayAmount;

    /** 可提现的悦币余额 */
	@ApiModelProperty("可提现的悦币余额")
	protected BigDecimal withdrawableYueCoin;

    /** 可提现的会员购买的悦卡余额 */
	@ApiModelProperty("可提现的会员购买的悦卡余额")
	protected BigDecimal withdrawableYueCardBought;

    /** 可提现的企业发放的悦卡余额 */
	@ApiModelProperty("可提现的企业发放的悦卡余额")
	protected BigDecimal withdrawableYueCardGranted;

    /** 可提现的微信余额 */
	@ApiModelProperty("可提现的微信余额")
	protected BigDecimal withdrawableWechatAmount;

    /** 可提现的支付宝余额 */
	@ApiModelProperty("可提现的支付宝余额")
	protected BigDecimal withdrawableAlipayAmount;

    /** 未结算金额 */
	@ApiModelProperty("未结算金额")
	protected BigDecimal noSettlementAmount;

    /** 已提现金额 */
	@ApiModelProperty("已提现金额")
	protected BigDecimal withdrawAmount;

    /** 版本 */
	@ApiModelProperty("版本")
	protected Integer version;

    /** 提现密码 */
	@ApiModelProperty("提现密码")
	protected String withdrawPassword;


    /** 最后提现时间 */
	@ApiModelProperty("最后提现时间")
	protected LocalDateTime lastWithdrawTime;

    /** 连续密码错误次数 */
	@ApiModelProperty("连续密码错误次数")
	protected Integer pwdErrorCount;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

	/**
	 * 构造一个空商户钱包实体对象
	 */
	public MerchantWalletEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个商户钱包实体对象
	 * 
	 * @param other 其它对象
	 */
	public MerchantWalletEntity(MerchantWalletEntity other){
		super();
     	this.id = other.id;
     	this.merchantId = other.merchantId;
     	this.yueCoin = other.yueCoin;
     	this.yueCardBought = other.yueCardBought;
     	this.yueCardGranted = other.yueCardGranted;
     	this.wechatAmount = other.wechatAmount;
     	this.alipayAmount = other.alipayAmount;
     	this.withdrawableYueCoin = other.withdrawableYueCoin;
     	this.withdrawableYueCardBought = other.withdrawableYueCardBought;
     	this.withdrawableYueCardGranted = other.withdrawableYueCardGranted;
     	this.withdrawableWechatAmount = other.withdrawableWechatAmount;
     	this.withdrawableAlipayAmount = other.withdrawableAlipayAmount;
     	this.noSettlementAmount = other.noSettlementAmount;
     	this.withdrawAmount = other.withdrawAmount;
     	this.version = other.version;
     	this.withdrawPassword = other.withdrawPassword;
     	this.lastWithdrawTime = other.lastWithdrawTime;
     	this.pwdErrorCount = other.pwdErrorCount;
     	this.createdTime = other.createdTime;
	}


	/**
	 * 获取商户钱包ID
	 * 
	 * @return id 商户钱包ID
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置商户钱包ID
	 * 
	 * @param id 商户钱包ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取商户ID
	 * 
	 * @return merchantId 商户ID
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户ID
	 * 
	 * @param merchantId 商户ID
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取悦币余额（可提现）
	 * 
	 * @return yueCoin 悦币余额（可提现）
	 */
	public BigDecimal getYueCoin() {
		return yueCoin;
	}
  	
	/**
	 * 设置悦币余额（可提现）
	 * 
	 * @param yueCoin 悦币余额（可提现）
	 */
	public void setYueCoin(BigDecimal yueCoin) {
		this.yueCoin = yueCoin;
	}

	/**
	 * 获取会员购买的悦卡余额
	 * 
	 * @return yueCardBought 会员购买的悦卡余额
	 */
	public BigDecimal getYueCardBought() {
		return yueCardBought;
	}
  	
	/**
	 * 设置会员购买的悦卡余额
	 * 
	 * @param yueCardBought 会员购买的悦卡余额
	 */
	public void setYueCardBought(BigDecimal yueCardBought) {
		this.yueCardBought = yueCardBought;
	}

	/**
	 * 获取企业发放的悦卡余额
	 * 
	 * @return yueCardGranted 企业发放的悦卡余额
	 */
	public BigDecimal getYueCardGranted() {
		return yueCardGranted;
	}
  	
	/**
	 * 设置企业发放的悦卡余额
	 * 
	 * @param yueCardGranted 企业发放的悦卡余额
	 */
	public void setYueCardGranted(BigDecimal yueCardGranted) {
		this.yueCardGranted = yueCardGranted;
	}

	/**
	 * 获取微信余额（会员使用微信向商户支付产生的）
	 * 
	 * @return wechatAmount 微信余额（会员使用微信向商户支付产生的）
	 */
	public BigDecimal getWechatAmount() {
		return wechatAmount;
	}
  	
	/**
	 * 设置微信余额（会员使用微信向商户支付产生的）
	 * 
	 * @param wechatAmount 微信余额（会员使用微信向商户支付产生的）
	 */
	public void setWechatAmount(BigDecimal wechatAmount) {
		this.wechatAmount = wechatAmount;
	}

	/**
	 * 获取支付宝余额（会员使用支付宝向商户支付产生的）
	 * 
	 * @return alipayAmount 支付宝余额（会员使用支付宝向商户支付产生的）
	 */
	public BigDecimal getAlipayAmount() {
		return alipayAmount;
	}
  	
	/**
	 * 设置支付宝余额（会员使用支付宝向商户支付产生的）
	 * 
	 * @param alipayAmount 支付宝余额（会员使用支付宝向商户支付产生的）
	 */
	public void setAlipayAmount(BigDecimal alipayAmount) {
		this.alipayAmount = alipayAmount;
	}


	/**
	 * 获取可提现的悦币余额
	 * 
	 * @return withdrawableYueCoin 可提现的悦币余额
	 */
	public BigDecimal getWithdrawableYueCoin() {
		return withdrawableYueCoin;
	}
  	
	/**
	 * 设置可提现的悦币余额
	 * 
	 * @param withdrawableYueCoin 可提现的悦币余额
	 */
	public void setWithdrawableYueCoin(BigDecimal withdrawableYueCoin) {
		this.withdrawableYueCoin = withdrawableYueCoin;
	}

	/**
	 * 获取可提现的会员购买的悦卡余额
	 * 
	 * @return withdrawableYueCardBought 可提现的会员购买的悦卡余额
	 */
	public BigDecimal getWithdrawableYueCardBought() {
		return withdrawableYueCardBought;
	}
  	
	/**
	 * 设置可提现的会员购买的悦卡余额
	 * 
	 * @param withdrawableYueCardBought 可提现的会员购买的悦卡余额
	 */
	public void setWithdrawableYueCardBought(BigDecimal withdrawableYueCardBought) {
		this.withdrawableYueCardBought = withdrawableYueCardBought;
	}

	/**
	 * 获取可提现的企业发放的悦卡余额
	 * 
	 * @return withdrawableYueCardGranted 可提现的企业发放的悦卡余额
	 */
	public BigDecimal getWithdrawableYueCardGranted() {
		return withdrawableYueCardGranted;
	}
  	
	/**
	 * 设置可提现的企业发放的悦卡余额
	 * 
	 * @param withdrawableYueCardGranted 可提现的企业发放的悦卡余额
	 */
	public void setWithdrawableYueCardGranted(BigDecimal withdrawableYueCardGranted) {
		this.withdrawableYueCardGranted = withdrawableYueCardGranted;
	}

	/**
	 * 获取可提现的微信余额
	 * 
	 * @return withdrawableWechatAmount 可提现的微信余额
	 */
	public BigDecimal getWithdrawableWechatAmount() {
		return withdrawableWechatAmount;
	}
  	
	/**
	 * 设置可提现的微信余额
	 * 
	 * @param withdrawableWechatAmount 可提现的微信余额
	 */
	public void setWithdrawableWechatAmount(BigDecimal withdrawableWechatAmount) {
		this.withdrawableWechatAmount = withdrawableWechatAmount;
	}

	/**
	 * 获取可提现的支付宝余额
	 * 
	 * @return withdrawableAlipayAmount 可提现的支付宝余额
	 */
	public BigDecimal getWithdrawableAlipayAmount() {
		return withdrawableAlipayAmount;
	}
  	
	/**
	 * 设置可提现的支付宝余额
	 * 
	 * @param withdrawableAlipayAmount 可提现的支付宝余额
	 */
	public void setWithdrawableAlipayAmount(BigDecimal withdrawableAlipayAmount) {
		this.withdrawableAlipayAmount = withdrawableAlipayAmount;
	}

	/**
	 * 获取未结算金额
	 * 
	 * @return noSettlementAmount 未结算金额
	 */
	public BigDecimal getNoSettlementAmount() {
		return noSettlementAmount;
	}
  	
	/**
	 * 设置未结算金额
	 * 
	 * @param noSettlementAmount 未结算金额
	 */
	public void setNoSettlementAmount(BigDecimal noSettlementAmount) {
		this.noSettlementAmount = noSettlementAmount;
	}

	/**
	 * 获取已提现金额
	 * 
	 * @return withdrawAmount 已提现金额
	 */
	public BigDecimal getWithdrawAmount() {
		return withdrawAmount;
	}
  	
	/**
	 * 设置已提现金额
	 * 
	 * @param withdrawAmount 已提现金额
	 */
	public void setWithdrawAmount(BigDecimal withdrawAmount) {
		this.withdrawAmount = withdrawAmount;
	}

	/**
	 * 获取版本
	 * 
	 * @return version 版本
	 */
	public Integer getVersion() {
		return version;
	}
  	
	/**
	 * 设置版本
	 * 
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

	/**
	 * 获取提现密码
	 * 
	 * @return withdrawPassword 提现密码
	 */
	public String getWithdrawPassword() {
		return withdrawPassword;
	}
  	
	/**
	 * 设置提现密码
	 * 
	 * @param withdrawPassword 提现密码
	 */
	public void setWithdrawPassword(String withdrawPassword) {
		this.withdrawPassword = withdrawPassword;
	}


	/**
	 * 获取最后提现时间
	 * 
	 * @return lastWithdrawTime 最后提现时间
	 */
	public LocalDateTime getLastWithdrawTime() {
		return lastWithdrawTime;
	}
  	
	/**
	 * 设置最后提现时间
	 * 
	 * @param lastWithdrawTime 最后提现时间
	 */
	public void setLastWithdrawTime(LocalDateTime lastWithdrawTime) {
		this.lastWithdrawTime = lastWithdrawTime;
	}

	/**
	 * 获取连续密码错误次数
	 * 
	 * @return pwdErrorCount 连续密码错误次数
	 */
	public Integer getPwdErrorCount() {
		return pwdErrorCount;
	}
  	
	/**
	 * 设置连续密码错误次数
	 * 
	 * @param pwdErrorCount 连续密码错误次数
	 */
	public void setPwdErrorCount(Integer pwdErrorCount) {
		this.pwdErrorCount = pwdErrorCount;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

    public String toString() {
		return new StringBuilder().append("MerchantWalletEntity{").
			append("id=").append(id).
			append(",merchantId=").append(merchantId).
			append(",yueCoin=").append(yueCoin).
			append(",yueCardBought=").append(yueCardBought).
			append(",yueCardGranted=").append(yueCardGranted).
			append(",wechatAmount=").append(wechatAmount).
			append(",alipayAmount=").append(alipayAmount).
			append(",withdrawableYueCoin=").append(withdrawableYueCoin).
			append(",withdrawableYueCardBought=").append(withdrawableYueCardBought).
			append(",withdrawableYueCardGranted=").append(withdrawableYueCardGranted).
			append(",withdrawableWechatAmount=").append(withdrawableWechatAmount).
			append(",withdrawableAlipayAmount=").append(withdrawableAlipayAmount).
			append(",noSettlementAmount=").append(noSettlementAmount).
			append(",withdrawAmount=").append(withdrawAmount).
			append(",version=").append(version).
			append(",withdrawPassword=").append(withdrawPassword).
			append(",lastWithdrawTime=").append(lastWithdrawTime).
			append(",pwdErrorCount=").append(pwdErrorCount).
			append(",createdTime=").append(createdTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public MerchantWalletEntity copy() {
		return new MerchantWalletEntity(this);
	}

    /** 商户钱包ID */
	public static final String COL_ID = "id";

    /** 商户ID */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 悦币余额（可提现） */
	public static final String COL_YUE_COIN = "yue_coin";

    /** 会员购买的悦卡余额 */
	public static final String COL_YUE_CARD_BOUGHT = "yue_card_bought";

    /** 企业发放的悦卡余额 */
	public static final String COL_YUE_CARD_GRANTED = "yue_card_granted";

    /** 微信余额（会员使用微信向商户支付产生的） */
	public static final String COL_WECHAT_AMOUNT = "wechat_amount";

    /** 支付宝余额（会员使用支付宝向商户支付产生的） */
	public static final String COL_ALIPAY_AMOUNT = "alipay_amount";

    /** 其它余额（会员使用优惠劵完全抵扣支付金额时产生） */
	public static final String COL_OTHER_AMOUNT = "other_amount";

    /** 可提现的悦币余额 */
	public static final String COL_WITHDRAWABLE_YUE_COIN = "withdrawable_yue_coin";

    /** 可提现的会员购买的悦卡余额 */
	public static final String COL_WITHDRAWABLE_YUE_CARD_BOUGHT = "withdrawable_yue_card_bought";

    /** 可提现的企业发放的悦卡余额 */
	public static final String COL_WITHDRAWABLE_YUE_CARD_GRANTED = "withdrawable_yue_card_granted";

    /** 可提现的微信余额 */
	public static final String COL_WITHDRAWABLE_WECHAT_AMOUNT = "withdrawable_wechat_amount";

    /** 可提现的支付宝余额 */
	public static final String COL_WITHDRAWABLE_ALIPAY_AMOUNT = "withdrawable_alipay_amount";

    /** 可提现的其它余额 */
	public static final String COL_WITHDRAWABLE_OTHER_AMOUNT = "withdrawable_other_amount";

    /** 未结算金额 */
	public static final String COL_NO_SETTLEMENT_AMOUNT = "no_settlement_amount";

    /** 已提现金额 */
	public static final String COL_WITHDRAW_AMOUNT = "withdraw_amount";

    /** 版本 */
	public static final String COL_VERSION = "version";

    /** 提现密码 */
	public static final String COL_WITHDRAW_PASSWORD = "withdraw_password";


    /** 最后提现时间 */
	public static final String COL_LAST_WITHDRAW_TIME = "last_withdraw_time";

    /** 连续密码错误次数 */
	public static final String COL_PWD_ERROR_COUNT = "pwd_error_count";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";
}
